/**
 * 监控配置
 */
export default {
  // 监控服务基础设置
  server: {
    // 是否启用监控服务
    enabled: process.env.ENABLE_MONITORING === 'true',
    // 收集系统指标的间隔时间（毫秒）
    collectInterval: parseInt(process.env.MONITORING_INTERVAL || '15000', 10),
    // 历史数据保留时间（小时）
    historyRetention: parseInt(process.env.MONITORING_HISTORY_RETENTION || '24', 10)
  },
  
  // 告警配置
  alert: {
    // 是否启用告警
    enabled: process.env.ENABLE_ALERTS === 'true',
    // 告警通知邮箱
    email: {
      enabled: process.env.ENABLE_EMAIL_ALERTS === 'true',
      host: process.env.EMAIL_HOST,
      port: parseInt(process.env.EMAIL_PORT || '587', 10),
      secure: process.env.EMAIL_SECURE === 'true',
      auth: {
        user: process.env.EMAIL_USER,
        pass: process.env.EMAIL_PASS
      },
      from: process.env.EMAIL_FROM,
      to: (process.env.EMAIL_TO || '').split(',')
    },
    // 告警阈值
    thresholds: {
      // CPU使用率阈值（百分比）
      cpuUsage: parseInt(process.env.ALERT_CPU_THRESHOLD || '80', 10),
      // 内存使用率阈值（百分比）
      memoryUsage: parseInt(process.env.ALERT_MEMORY_THRESHOLD || '80', 10),
      // 磁盘使用率阈值（百分比）
      diskUsage: parseInt(process.env.ALERT_DISK_THRESHOLD || '85', 10),
      // 数据库连接使用率阈值（百分比）
      dbConnectionUsage: parseInt(process.env.ALERT_DB_CONNECTION_THRESHOLD || '80', 10),
      // 高错误率阈值（每分钟错误数）
      errorRate: parseInt(process.env.ALERT_ERROR_RATE || '10', 10),
      // 服务器响应时间阈值（毫秒）
      responseTime: parseInt(process.env.ALERT_RESPONSE_TIME || '5000', 10),
      // 告警冷却时间（分钟），避免频繁告警
      cooldown: parseInt(process.env.ALERT_COOLDOWN || '15', 10)
    }
  },
  
  // 数据库监控配置
  database: {
    // 是否启用数据库监控
    enabled: process.env.ENABLE_DB_MONITORING === 'true',
    // 收集数据库指标的间隔时间（毫秒）
    collectInterval: parseInt(process.env.DB_MONITORING_INTERVAL || '60000', 10),
    // 慢查询监控阈值（毫秒）
    slowQueryThreshold: parseInt(process.env.SLOW_QUERY_THRESHOLD || '1000', 10),
    // 最大连接使用率告警阈值（百分比）
    maxConnectionsUsageThreshold: parseInt(process.env.MAX_CONN_USAGE_THRESHOLD || '80', 10)
  }
}; 